home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / clang / mcomm551.zip / ZCMPLR.C < prev    next >
C/C++ Source or Header  |  1991-11-28  |  6KB  |  166 lines

  1.  
  2. /*/////////////////////////////////////////////////////////////////////
  3. //                                                                   //
  4. //                                                                   //
  5. //  ZCMPLR.C -- compiler specific functions                          //
  6. //                                                                   //
  7. //   (c) 1991, Mike Dumdei, 6 Holly Lane, Texarkana TX, 75503        //
  8. //                                                                   //
  9. //////////////////////////////////////////////////////////////////// */
  10. #ifndef __TURBOC__          /* defined by Turbo C compiler */
  11.   #ifndef __ZTC__           /* defined by Zortech C compiler */
  12.     #define __MSC__         /* assume Microsoft C if not TC or ZTC */
  13.   #endif
  14. #endif
  15.  
  16. /*/////////////////////////////////////////////////////////////////
  17. //                                                               //
  18. //                                                               //
  19. //      Microsoft C  /  Quick C                                  //
  20. //                                                               //
  21. //                                                               //
  22. //////////////////////////////////////////////////////////////// */
  23. #ifdef __MSC__
  24.  
  25. #include <dos.h>
  26. /*/////////////////////////////////////////////////////////
  27. //  DosFindFirst -- find file (1st instance)             //
  28. //////////////////////////////////////////////////:disk:/*/
  29. int DosFindFirst(char *pathname, int atrib, struct find_t *fstruc)
  30. {
  31.     return (_dos_findfirst(pathname, atrib, fstruc));
  32. }
  33.  
  34. /*/////////////////////////////////////////////////////////
  35. //  DosFindNext -- find file (except 1st instance)       //
  36. //////////////////////////////////////////////////:disk:/*/
  37. int DosFindNext(struct find_t *fstruc)
  38. {
  39.     return (_dos_findnext(fstruc));
  40. }
  41.  
  42. /*/////////////////////////////////////////////////////////
  43. //  DosGetDiskFree -- gets free space left on disk       //
  44. //////////////////////////////////////////////////:disk:/*/
  45. long DosGetDiskFree(int drive)
  46. {
  47.     struct diskfree_t spc;
  48.     _dos_getdiskfree(drive, &spc);
  49.     return ((long)spc.avail_clusters * (long)spc.sectors_per_cluster *
  50.      (long)spc.bytes_per_sector);
  51. }
  52.  
  53. /*/////////////////////////////////////////////////////////
  54. //  DosSetFileTime -- set file date/time                 //
  55. //////////////////////////////////////////////////:disk:/*/
  56. int DosSetFileTime(int handle, unsigned date, unsigned time)
  57. {
  58.     return (_dos_setftime(handle, date, time));
  59. }
  60. #endif
  61.  
  62.  
  63. /*/////////////////////////////////////////////////////////////////
  64. //                                                               //
  65. //                                                               //
  66. //      Turbo C  /  Turbo C++                                    //
  67. //                                                               //
  68. //                                                               //
  69. //////////////////////////////////////////////////////////////// */
  70. #ifdef __TURBOC__
  71.  
  72. #include <dos.h>
  73. #include <dir.h>
  74. #include <io.h>
  75. /*/////////////////////////////////////////////////////////
  76. //  DosFindFirst -- find file (1st instance)             //
  77. //////////////////////////////////////////////////:disk:/*/
  78. int DosFindFirst(char *pathname, int atrib, struct ffblk *fstruc)
  79. {
  80.     return (findfirst(pathname, fstruc, atrib));
  81. }
  82.  
  83. /*/////////////////////////////////////////////////////////
  84. //  DosFindNext -- find file (except 1st instance)       //
  85. //////////////////////////////////////////////////:disk:/*/
  86. int DosFindNext(struct ffblk *fstruc)
  87. {
  88.     return (findnext(fstruc));
  89. }
  90.  
  91. /*/////////////////////////////////////////////////////////
  92. //  DosGetDiskFree -- gets free space left on disk       //
  93. //////////////////////////////////////////////////:disk:/*/
  94. long DosGetDiskFree(int drive)
  95. {
  96.     struct dfree spc;
  97.     getdfree(drive, &spc);
  98.     return ((long)spc.df_avail * (long)spc.df_sclus * (long)spc.df_bsec);
  99. }
  100.  
  101. /*/////////////////////////////////////////////////////////
  102. //  DosSetFileTime -- set file date/time                 //
  103. //////////////////////////////////////////////////:disk:/*/
  104. int DosSetFileTime(int handle, unsigned date, unsigned time)
  105. {
  106.     unsigned ftim = (date << 8) | time;
  107.     return (setftime(handle, (struct ftime *)&ftim));
  108. }
  109.  
  110. /*/////////////////////////////////////////////////////////
  111. //  _bios_keybrd --  link to Turbo C/C++ bios key        //
  112. /////////////////////////////////////////////////////////*/
  113. int _bios_keybrd(int flag)
  114. {
  115.     return bioskey(flag);
  116. }
  117. #endif
  118.  
  119.  
  120. /*/////////////////////////////////////////////////////////////////
  121. //                                                               //
  122. //                                                               //
  123. //      Zortech C  /  Zortech C++                                //
  124. //                                                               //
  125. //                                                               //
  126. //////////////////////////////////////////////////////////////// */
  127. #ifdef __ZTC__
  128.  
  129. #define MSDOS 1
  130. #include <dos.h>
  131. long timezone = 0L;
  132.  
  133. /*/////////////////////////////////////////////////////////
  134. //  DosFindFirst -- find file (1st instance)             //
  135. //////////////////////////////////////////////////:disk: */
  136. int DosFindFirst(char *pathname, int atrib, struct find_t *fstruc)
  137. {
  138.     return (_dos_findfirst(pathname, atrib, fstruc));
  139. }
  140.  
  141. /*/////////////////////////////////////////////////////////
  142. //  DosFindNext -- find file (except 1st instance)       //
  143. //////////////////////////////////////////////////:disk: */
  144. int DosFindNext(struct find_t *fstruc)
  145. {
  146.     return (_dos_findnext(fstruc));
  147. }
  148.  
  149. /*/////////////////////////////////////////////////////////
  150. //  DosGetDiskFree -- gets free space left on disk       //
  151. //////////////////////////////////////////////////:disk: */
  152. long DosGetDiskFree(int drive)
  153. {
  154.     return (dos_getdiskfreespace(drive));
  155. }
  156.  
  157. /*/////////////////////////////////////////////////////////
  158. //  DosSetFileTime -- set file date/time                 //
  159. //////////////////////////////////////////////////:disk: */
  160. int DosSetFileTime(int handle, unsigned date, unsigned time)
  161. {
  162.     return (dos_setftime(handle, date, time));
  163. }
  164. #endif
  165.  
  166.